package www.notice.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.json.simple.JSONObject;

import www.Action;
import www.ActionForward;
import www.utility.FileUploadRequestWrapper;
import www.utility.Utility;

public class NoticeCreateFileupload implements Action {
    String filename = "";
    long filesize ;
    static String allFilename = "";    // 전송 받아 저장된 모든 파일명
    static String allFilesize = "";    // 전송 받아 저장된 모든 파일 사이즈
    @Override
    public ActionForward execute(HttpServletRequest request, HttpServletResponse response) throws Throwable {
        String tempDir = Utility.getRealPath(request, "/Notice/temp"); 
        String upDir = Utility.getRealPath(request, "/Notice/storage");
        
        System.out.println("upload_proc.jsp loading...");
       //---------------------------------------------------------------
       // Fileupload 콤포넌트 관련 코드, 하나의 파일을 업로드 처리
       //---------------------------------------------------------------
       String param1 = "";         //일반 폼 태그 
       FileItem fileItem = null;   //업로드 파일 객체
       
        //업로드 파일명
       FileUploadRequestWrapper requestWrap = new FileUploadRequestWrapper(request, -1, -1, tempDir);

       request = requestWrap;

      // 전송하려는 파일이 최종적으로 5개임으로 5번 순환합니다.
      fileItem = requestWrap.getFileItem("file1");
      long filesize = fileItem.getSize(); // 파일 사이즈
      // 전송된 파일명과 파일 사이즈 저장
      
          
      if(filesize > 0) {
          
          filename = FileUploadRequestWrapper.saveNewFile(fileItem, upDir);
          System.out.println("전송된 파일명: " +  filename + "  / 전송된 파일 사이즈: " + filesize);
//          allFilesize = allFilesize + filesize ;
//          allFilename = allFilename + filename ;
      }
      
      JSONObject obj = new JSONObject();

      obj.put("filename", filename);
      obj.put("filesize",filesize);
        
      System.out.print("bbsCreateFileupload: " +  obj);
      request.setAttribute("obj", obj);
     
      ActionForward forward = new ActionForward();
      forward.setRedirect(false);  // 
      forward.setPath("/obj.jsp");
      return forward;     
   
    }

}
